package com.jlpay.open.jlpay.sdk.java.model.openmerch.change.request;

import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.jlpay.open.jlpay.sdk.java.common.crypto.annotation.DataCrypto;
import com.jlpay.open.jlpay.sdk.java.model.OrgBaseReq;
import com.jlpay.open.jlpay.sdk.java.model.openmerch.SettleMode;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

/**
 * 商户结算规则修改
 *
 * @author zhangyongfeng
 * @date 2025/8/1
 */
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@DataCrypto(encrypt = true)
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class SettleRuleModifyRequest extends OrgBaseReq {
    /**
     * 申请单id
     */
    private String applyId;

    /**
     * 商户号
     */
    private String merchNo;

    /**
     * 结算方式
     */
    private SettleMode settleMode;

    /**
     * 营业周期，结算日切时间
     */
    private String dayCut;

    /**
     * 结算场次
     */
    private String settleSession;

    /**
     * 是否允许商户自主变更结算账户，0-否1-是
     */
    private String accountChangeFlag;

    /**
     * 结算附言
     */
    private String postscript;

    @Override
    public String path() {
        return "/open/merch/access/settle-rule/modify";
    }
}
